package filterbar;

/**
 * 创建时间：2017年01月12日18:38 <br>
 * 作者：fuchaoyang <br>
 * 描述：筛选框的tab
 */

public class FilterTabEntity {
  /**
   * 默认title，只初始化一次
   */
  public String defaultTitle;

  /**
   * 选中后更改或者从外面携带进来
   */
  public String showTitle;

  /**
   * 是否高亮，暂时认为就同 selected，即选中才会高亮
   * 初始化的时候，如果=true，就显示showTitle,否则显示defaultTitle
   */
  public boolean isHighLight;

  //public boolean selected;

  /**
   * 这个由我给你赋值，你只管调用即可
   */
  public int position;

  /**
   * 类型标识，这个key不一定是筛选条件key，比如可能是更多（聚合了很多筛选），这里只是一个区分点击的tag
   * 当然，如果你想使用position区分的话就不用初始化了，反正我不需要这个值
   */
  public String tag;

  /**
   * 默认值
   */
  public FilterTabEntity(String defaultTitle) {
    this(defaultTitle, null);
  }

  public FilterTabEntity(String defaultTitle, String showTitle) {
    this.defaultTitle = defaultTitle;
    this.showTitle = showTitle != null ? showTitle : defaultTitle;
    this.isHighLight = showTitle != null;
  }

  /**
   * 更新选中文案，非默认文案
   *
   * @param showTitle 要显示的文案
   */
  public void update(String showTitle) {
    this.showTitle = showTitle;
    isHighLight = true;
  }

  /**
   * 重置为默认态
   */
  public void reset() {
    isHighLight = false;
    showTitle = defaultTitle;
  }

  @Override public String toString() {
    return "FilterTabEntity{" +
        "defaultTitle='" + defaultTitle + '\'' +
        ", showTitle='" + showTitle + '\'' +
        ", position=" + position +
        '}';
  }
}
